Client/server describes a relationship between two computer programs in which one program, the client, makes a service request from another program, the server, which fulfills the request. Although programs within a single computer can use the client/server model, it is a more important idea in a network. In a network, the client/server model provides a convenient way to interconnect programs that are distributed efficiently across different locations.
The client/server model has become one of the central ideas of network computing. Most business applications being written today use the client/server model. In the usual client/server model, one server, sometimes called a daemon, is activated and awaits client requests. Typically, multiple client programs share the services of a common server program. Both client programs and server programs are often part of a larger program or application. For example, a web browser such as Netscape Navigator or Microsoft Internet Explorer is a client program that requests services (the sending of Web pages or files) from a Web server in another computer somewhere on the Internet.
In a distributed network, users interact with front-end computers to call application services from a remote computer. Usually, both front-end computers and remote computers are client-server related, with the front-end computer being the client computer and the remote computer being the server computer.
While the server computer often requires a user interface for administrative functions, such a user interface is more crucial for the user of the front-end computer. Front-end computers can be implemented by a variety of devices, such as, desktop computers, notebook computers, palm size computers, and mobile phones. The user may switch between these devices, but the data from the server computer might fit device properties of different front-end computers only partly or might not fit at all.